// package com.ai.study.utils;
//
// import com.ai.study.exception.AiExceptionError;
// import com.alibaba.fastjson2.JSONObject;
//
// import java.net.URI;
// import java.net.http.HttpClient;
// import java.net.http.HttpRequest;
// import java.net.http.HttpResponse;
// import java.time.Duration;
// import java.util.Map;
// import java.util.concurrent.ExecutorService;
// import java.util.concurrent.Executors;
//
// /**
//  * http接口请求方法
//  *
//  * @author wwei
//  * @date 2025-02-09 23:03
//  **/
// public class HttpUtils {
//
//     private final ExecutorService threadPool = Executors.newFixedThreadPool(50);
//     /** 创建 HttpClient 实例 */
//     private final HttpClient client = HttpClient.newBuilder()
//             .version(HttpClient.Version.HTTP_2)
//             .connectTimeout(Duration.ofSeconds(10))
//             .followRedirects(HttpClient.Redirect.NORMAL)
//             .executor(threadPool)
//             .build();
//
//     public JSONObject doPostExecutor(String url, Map<String, Object> requestParam, int requestTimeout) {
//         HttpRequest request = HttpRequest.newBuilder()
//                 .uri(URI.create(url))
//                 .timeout(Duration.ofSeconds(requestTimeout))
//                 .header("Content-Type", "application/json")
//                 .POST(HttpRequest.BodyPublishers.ofString(requestParam.toString()))
//                 .build();
//         JSONObject response = new JSONObject();
//         try {
//             HttpResponse<String> httpResponse = client.send(request, HttpResponse.BodyHandlers.ofString());
//         } catch (Exception e) {
//             throw new AiExceptionError(100004, e.getMessage());
//         }
//     }
// }
